package com.example.demo0

import com.example.util.p


abstract class CivicCenterTask{
    fun execute(){
        this.lineUp()
        this.askForHelp()
        this.evaluate()
    }

    private fun lineUp(){
        p("line up to take a number")
    }

    private fun evaluate(){
        p("evaluate service attitude")
    }

    abstract fun askForHelp()
}


class PullSocialSecurity: CivicCenterTask() {
    override fun askForHelp() {
        p("ask for pulling the social security")
    }



}

class ApplyForCitizenCard:CivicCenterTask(){
    override fun askForHelp() {

        p("apply for a citizen card")

    }


}

fun main(){
    PullSocialSecurity().execute()
    ApplyForCitizenCard().execute()
}





